It is often desirable to express or view information based on a function of variables, such as a weighted combination. For example, in some applications, a list of objects may be presented in order of their importance, where their importance is determined by a weighted combination. In addition, specifying different weights may be useful when performing different types of analysis. For example, each of the variables may represent a particular property and the importance of each property may change depending on the analysis or the perspective of the individual carrying out the analysis. Moreover, in many applications, an abundance of information may be obtained by viewing and altering the weighting of each of the variables of the weighted combination and then viewing the resulting presentation of objects.
Factor analysis is an example of an application where it may be useful to adjust the weights that are applied to the variables of an equation. Factor analysis may be used to model behaviors as a linear combination of various factors. Generally, factor analysis is applied by using statistical techniques and linear algebra to compute not only the factor weightings, but also the axes of the factor space, which may differ from the measurement space. Using the techniques in reverse may also be useful. For example, given a known or hypothesized set of factors, one may manipulate the factor weightings to observe the resultant behavior as shown by a set of weighted observations. This technique allows one to become familiar with an information space by assigning more or less importance to certain factors.
In many applications, it may be desirable to specify a relationship between weights in a function. For example, it may be useful to constrain the sum of the weights to a constant value. In certain cases, it may also be desirable to specify further constraints on the values of the weights, beyond the value to which they sum.
Designers of graphical user interfaces (GUIs) employ a variety of controls or “widgets” to input or control numerical data, such as slider bars, wheels, and the like. Typically each of the numbers controlled by a single widget is treated independently. If there is a relationship between more than one variable, widgets such as sliders can be “ganged” and mutually constrained so that increasing one increases or decreases others, according to some relationship or formula. An example of ganged sliders is illustrated in FIG. 1. Specifically, FIG. 1 illustrates three sliders 102, 104, and 106. Each slider may be used to specify the value of a given variable or weight in a function and may be separately controlled.